package persistencia;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import excepciones.PersistenciaException;

public class PersistenciaGestion {
	private static PersistenciaGestion instance;
	
	private PersistenciaGestion() {
	}
	
	synchronized public static PersistenciaGestion getInstancia() {
		if (PersistenciaGestion.instance == null){
			PersistenciaGestion.instance = new PersistenciaGestion();
		}
		return PersistenciaGestion.instance;
	}
	
	synchronized public void persistirUsuario (String _usuario) throws PersistenciaException
	{
		/*
		 * 1. agrego al archivo de texto que contiene el historial de mensajes recibidos
		 *    el mensaje recibido junto con la dirección IP del emisor
		 */
		BufferedWriter buffer;
		try {
			buffer = new BufferedWriter(
				new FileWriter(Configuracion.ARCHIVO_PERSISTENCIA, true)
			);
			
			buffer.append(_usuario);
			buffer.newLine();
			buffer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			throw new PersistenciaException(PersistenciaException.ERROR_GUARDANDO_USUARIO);
		}
	}
}
